package com.zijidelu.luframework.infrastructure.persistence.repository.core.domain.calculator;


import java.util.List;

/**
 * 领域键计算器接口。
 *
 * @author ZIJIDELU
 * @date: 2024/4/23 9:48
 */
public interface DomainKeyCalculator {
    /**
     * 获取领域名称
     *
     * @return 领域名称
     */
    String getDomainName();

    /**
     * 获取领域前缀
     *
     * @return 领域前缀
     */
    String getDomainPrefix();

    /**
     * 计算领域的key
     *
     * @param paramList 参数列表
     * @return Key前缀
     */
    String calcDomainKey(List<String> paramList);

    /**
     * 计算领域key
     *
     * @param params 参数列表
     * @return Key前缀
     */
    String calcDomainKey(String... params);

}
